unit OdontoCadCidades;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, CadastroPadrao, Vcl.Menus, Vcl.ComCtrls,
  Vcl.Buttons, Vcl.ExtCtrls, Vcl.Grids, Vcl.DBGrids, Data.DB, Data.Win.ADODB,
  Vcl.StdCtrls, Vcl.Mask, Vcl.DBCtrls, OdontoDB, Padroes;

type
  TformCadCidades = class(TformCadastro)
    dsCadastro: TDataSource;
    qCadastro: TADOQuery;
    qCadastroCidade_Cd: TAutoIncField;
    qCadastroCidade_Ds: TStringField;
    qCadastroCidade_UF: TStringField;
    OdontoLabel1: TOdontoLabel;
    OdontoLabel2: TOdontoLabel;
    dbeCodigo: TDBOdontoEdit;
    dbeDescricao: TDBOdontoEdit;
    dbeUF: TDBOdontoEdit;
    OdontoLabel3: TOdontoLabel;
    OdontoLabel4: TOdontoLabel;
    OdontoLabel5: TOdontoLabel;
    oedCodigo: TOdontoEdit;
    oedDescricao: TOdontoEdit;
    OdontoLabel6: TOdontoLabel;
    oedUF: TOdontoEdit;
    procedure btnInclusaoClick(Sender: TObject);
    procedure btnAlteracaoClick(Sender: TObject);
    procedure btnPesquisarClick(Sender: TObject);
    procedure btnCancelaClick(Sender: TObject);
    procedure btnConfirmaClick(Sender: TObject);
    procedure btnExclusaoClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
  public
  end;

var
  formCadCidades: TformCadCidades;

implementation

{$R *.dfm}

uses Definicoes, Funcoes;

procedure TformCadCidades.btnAlteracaoClick(Sender: TObject);
begin
   if ( qCadastro.IsEmpty ) then
      Exit;
   inherited;
   dbeDescricao.SetFocus;
   qCadastro.Edit;
end;

procedure TformCadCidades.btnCancelaClick(Sender: TObject);
begin
   qCadastro.Cancel;
   inherited;
end;

procedure TformCadCidades.btnConfirmaClick(Sender: TObject);
begin
   try
      if (qCadastro.State in [dsEdit, dsInsert]) then
         qCadastro.Post;
   except
      on e: Exception do begin
         MessageDlg(MSG_ERRO_GRAVAR_REGISTRO + #13#13 + e.Message, mtInformation, [mbOK], 0);
         Exit;
      end;
   end;
   inherited;
end;

procedure TformCadCidades.btnExclusaoClick(Sender: TObject);
begin
   inherited;
   if Confirma(MSG_EXCLSUSAO_REGISTRO) then begin
      try
         qCadastro.Delete;
      except
         MessageDlg(MSG_ERRO_EXCLUIR_REGISTRO, mtInformation, [mbOK], 0);
         Exit;
      end;
   end;
end;

procedure TformCadCidades.btnInclusaoClick(Sender: TObject);
begin
   inherited;
   dbeDescricao.SetFocus;
   qCadastro.Insert;
end;

procedure TformCadCidades.btnPesquisarClick(Sender: TObject);
begin
   inherited;
   qCadastro.Close;
   qCadastro.SQL.Clear;
   qCadastro.SQL.Add(' SELECT Cidade_Cd, ');
   qCadastro.SQL.Add('        Cidade_Ds, ');
   qCadastro.SQL.Add('        Cidade_UF ');
   qCadastro.SQL.Add(' FROM Cidade ');
   qCadastro.SQL.Add(' WHERE Cidade_Cd IS NOT NULL ');
   if ( Trim(oedCodigo.Text) <> EmptyStr ) then
      qCadastro.SQL.Add(' AND Cidade_Cd = ' + oedCodigo.Text );
   if ( Trim(oedDescricao.Text) <> EmptyStr ) then
      qCadastro.SQL.Add(' AND Cidade_Ds LIKE ' + QuotedStr('%'+oedDescricao.Text+'%') );
   if ( Trim(oedUF.Text) <> EmptyStr ) then
      qCadastro.SQL.Add(' AND Cidade_UF LIKE ' + QuotedStr('%'+oedUF.Text+'%') );
   qCadastro.Open;

end;

procedure TformCadCidades.FormCreate(Sender: TObject);
begin
   inherited;
   qCadastro.Open;
end;

end.
